class Item_3001():
    def __init__(self):
        self.parent=False
        self.Name="Abyssal Scepter"
        self.Icon="3001.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1026','1057']
        self.Builds_Into=[]
        self.Tags=['spell_block','spell_damage']
        self.Costs = 1050
        self.Total_Costs = 2650
        self.Description="+70 Ability Power +57 Magic Resist  UNIQUE Aura: Reduces the Magic Resist of nearby enemy champions by 20."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 70.0
        self.parent.Magic_Resist += 57.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3105():
    def __init__(self):
        self.parent=False
        self.Name="Aegis of the Legion"
        self.Icon="3105.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1028','1033','1029']
        self.Builds_Into=[]
        self.Tags=['health','spell_block','armor']
        self.Costs = 750
        self.Total_Costs = 1925
        self.Description="+270 Health +18 Armor +24 Magic Resist  UNIQUE Aura: Nearby allied champions gain 12 Armor, 15 Magic Resist, and 8 Attack Damage."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 270.0
        self.parent.Armor += 18.0
        self.parent.Magic_Resist += 24.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1052():
    def __init__(self):
        self.parent=False
        self.Name="Amplifying Tome"
        self.Icon="1052.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3098','3145','3041','3108','3057','3136','3135','3116','3152','3114','3187','3174']
        self.Tags=['spell_damage']
        self.Costs = 435
        self.Total_Costs = 435
        self.Description="+20 Ability Power"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 20.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3003():
    def __init__(self):
        self.parent=False
        self.Name="Archangel's Staff"
        self.Icon="3003.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3070','1027','1005','1026']
        self.Builds_Into=[]
        self.Tags=['spell_damage','mana','mana_regen']
        self.Costs = 1000
        self.Total_Costs = 2855
        self.Description="+400 Mana +25 Mana Regen per 5 seconds +45 Ability Power  Passive: Grants Ability Power equal to 3% of your maximum Mana.  UNIQUE Passive: Each time you use an ability, your maximum Mana increases by 4 (3 second cooldown). Bonus caps at +1000 Mana. Does not stack with Tear of the Goddess or Manamune."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Mana += 400.0
        self.parent.Mana_Regen_per_5_seconds += 25.0
        self.parent.Ability_Power += 45.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3174():
    def __init__(self):
        self.parent=False
        self.Name="Athene's Unholy Grail"
        self.Icon="3174.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3108','1005','1052','1052','3028','1005','1033']
        self.Builds_Into=[]
        self.Tags=['spell_block','spell_damage','mana_regen','cooldown_reduction']
        self.Costs = 500
        self.Total_Costs = 2950
        self.Description="+80 Ability Power +36 Magic Resist +15 Mana Regen per 5 seconds UNIQUE Passive: 15% Cooldown Reduction UNIQUE Passive: Restores 12% of your max Mana on Kill or Assist. UNIQUE Passive: Increases your Mana Regen by 1% per 1% Mana you are missing. Does not stack with Chalice of Harmony."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 80.0
        self.parent.Magic_Resist += 36.0
        self.parent.Mana_Regen_per_5_seconds += 15.0
        self.parent.Cooldown_Reduction += 15.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3005():
    def __init__(self):
        self.parent=False
        self.Name="Atma's Impaler"
        self.Icon="3005.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1031','1018']
        self.Builds_Into=[]
        self.Tags=['armor','damage','critical_strike']
        self.Costs = 825
        self.Total_Costs = 2355
        self.Description="+45 Armor +18% Critical Strike Chance  UNIQUE Passive: Gain Attack Damage equal to 1.5% of your maximum Health."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Armor += 45.0
        self.parent.Critical_Strike_Chance += 18.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3198():
    def __init__(self):
        self.parent=False
        self.Name="Augment: Death"
        self.Icon="3198.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3200']
        self.Builds_Into=[]
        self.Tags=['spell_damage','viktor']
        self.Costs = 1000
        self.Total_Costs = 1000
        self.Description="+3 Ability Power per level +45 Ability Power  Augment Ability: Death Ray sets fire to enemies, dealing 30% additional magic damage over 4 seconds."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power_per_level += 3.0
        self.parent.Augment += 666.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3197():
    def __init__(self):
        self.parent=False
        self.Name="Augment: Gravity"
        self.Icon="3197.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3200']
        self.Builds_Into=[]
        self.Tags=['spell_damage','mana','cooldown_reduction','viktor']
        self.Costs = 1000
        self.Total_Costs = 1000
        self.Description="+3 Ability Power per level +200 Mana +10% Cooldown Reduction +5 Mana Regen per 5 seconds  Ability Augment: Gravity Field has an additional 30% cast range."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power_per_level += 3.0
        self.parent.Mana += 200.0
        self.parent.Cooldown_Reduction += 10.0
        # above is %
        self.parent.Augment += 666.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3196():
    def __init__(self):
        self.parent=False
        self.Name="Augment: Power"
        self.Icon="3196.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3200']
        self.Builds_Into=[]
        self.Tags=['spell_damage','health','health_regen','movement','viktor']
        self.Costs = 1000
        self.Total_Costs = 1000
        self.Description="+3 Ability Power per level +220 Health +6 Health Regen per 5 seconds  Ability Augment: Power Transfer increases Viktor's Movement Speed by 30% for 3 seconds."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power_per_level += 3.0
        self.parent.Health += 220.0
        self.parent.Augment += 666.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3093():
    def __init__(self):
        self.parent=False
        self.Name="Avarice Blade"
        self.Icon="3093.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1051']
        self.Builds_Into=['3142']
        self.Tags=['critical_strike']
        self.Costs = 350
        self.Total_Costs = 750
        self.Description="+12% Critical Strike Chance  UNIQUE Passive: Gain an additional 5 Gold every 10 seconds."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Critical_Strike_Chance += 12.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1038():
    def __init__(self):
        self.parent=False
        self.Name="B. F. Sword"
        self.Icon="1038.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3031','3071','3072','3181','3184']
        self.Tags=['damage']
        self.Costs = 1650
        self.Total_Costs = 1650
        self.Description="+45 Attack Damage"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 45.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3102():
    def __init__(self):
        self.parent=False
        self.Name="Banshee's Veil"
        self.Icon="3102.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1057','3010','1028','1027']
        self.Builds_Into=[]
        self.Tags=['health','spell_block','mana']
        self.Costs = 650
        self.Total_Costs = 2715
        self.Description="+375 Health +375 Mana +50 Magic Resist  UNIQUE Passive: Gain a spell shield that blocks the next incoming enemy ability (45 second cooldown)."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 375.0
        self.parent.Mana += 375.0
        self.parent.Magic_Resist += 50.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3006():
    def __init__(self):
        self.parent=False
        self.Name="Berserker's Greaves"
        self.Icon="3006.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1001','1042']
        self.Builds_Into=[]
        self.Tags=['attack_speed','movement']
        self.Costs = 150
        self.Total_Costs = 920
        self.Description=" +25% Attack Speed  UNIQUE Passive: Enhanced Movement 2 (does not stack with other Boots)"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Speed += 25.0
        # above is %
        self.parent.Movement_Speed += 20.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3144():
    def __init__(self):
        self.parent=False
        self.Name="Bilgewater Cutlass"
        self.Icon="3144.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1037','1053']
        self.Builds_Into=['3146']
        self.Tags=['damage','life_steal']
        self.Costs = 400
        self.Total_Costs = 1825
        self.Description="+35 Attack Damage +15% Life Steal  UNIQUE Active: Deals 150 magic damage and slows the target champion's Movement Speed by 50% for 3 seconds (60 second cooldown)."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 35.0
        self.parent.Life_Steal += 15.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1026():
    def __init__(self):
        self.parent=False
        self.Name="Blasting Wand"
        self.Icon="1026.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3001','3135','3027','3089','3100','3116','3128','3124','3170']
        self.Tags=['spell_damage']
        self.Costs = 860
        self.Total_Costs = 860
        self.Description="+40 Ability Power"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 40.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3117():
    def __init__(self):
        self.parent=False
        self.Name="Boots of Mobility"
        self.Icon="3117.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1001']
        self.Builds_Into=[]
        self.Tags=['movement']
        self.Costs = 650
        self.Total_Costs = 1000
        self.Description="UNIQUE Passive: Enhanced Movement 2, increases to Enhanced Movement 5 when out of combat for 5 seconds (does not stack with other Boots)."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Movement_Speed += 20.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1001():
    def __init__(self):
        self.parent=False
        self.Name="Boots of Speed"
        self.Icon="1001.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3006','3047','3020','3158','3111','3117']
        self.Tags=['movement']
        self.Costs = 350
        self.Total_Costs = 350
        self.Description="UNIQUE Passive: Enhanced Movement 1 (does not stack with other Boots)"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Movement_Speed += 50.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3009():
    def __init__(self):
        self.parent=False
        self.Name="Boots of Swiftness"
        self.Icon="3009.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1001']
        self.Builds_Into=[]
        self.Tags=['movement']
        self.Costs = 650
        self.Total_Costs = 1000
        self.Description="UNIQUE Passive: Enhanced Movement 3 (does not stack with other Boots)"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Movement_Speed += 40.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1051():
    def __init__(self):
        self.parent=False
        self.Name="Brawler's Gloves"
        self.Icon="1051.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3086','3093','3123']
        self.Tags=['critical_strike']
        self.Costs = 400
        self.Total_Costs = 400
        self.Description="+8% Critical Strike Chance"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Critical_Strike_Chance += 8.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3010():
    def __init__(self):
        self.parent=False
        self.Name="Catalyst the Protector"
        self.Icon="3010.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1028','1027']
        self.Builds_Into=['3027','3102','3180']
        self.Tags=['health','mana']
        self.Costs = 450
        self.Total_Costs = 1325
        self.Description="+290 Health +325 Mana  UNIQUE Passive: On leveling up, restores 250 Health and 200 Mana over 8 seconds."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 290.0
        self.parent.Mana += 325.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1031():
    def __init__(self):
        self.parent=False
        self.Name="Chain Vest"
        self.Icon="1031.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3026','3068','3082','3075','3005','3024','3157']
        self.Tags=['armor']
        self.Costs = 700
        self.Total_Costs = 700
        self.Description="+45 Armor"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Armor += 45.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3028():
    def __init__(self):
        self.parent=False
        self.Name="Chalice of Harmony"
        self.Icon="3028.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1005','1033']
        self.Builds_Into=['3174']
        self.Tags=['spell_block','mana_regen']
        self.Costs = 100
        self.Total_Costs = 890
        self.Description="+30 Magic Resist +7.5 Mana Regen per 5 seconds  UNIQUE Passive: Increases your Mana Regen by 1% per 1% Mana you are missing. Does not stack with Athene's Unholy Grail."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Magic_Resist += 30.0
        self.parent.Mana_Regen_per_5_seconds += 7.5
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3172():
    def __init__(self):
        self.parent=False
        self.Name="Cloak and Dagger"
        self.Icon="3172.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1018','1042']
        self.Builds_Into=[]
        self.Tags=['critical_strike','attack_speed']
        self.Costs = 200
        self.Total_Costs = 1450
        self.Description="+20% Attack Speed +20% Critical Strike Chance  UNIQUE Passive: +35 Tenacity (Tenacity reduces the duration of stuns, slows, taunts, fears, silences, blinds and immobilizes. Does not stack with other Tenacity items.)"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Speed += 20.0
        # above is %
        self.parent.Critical_Strike_Chance += 20.0
        # above is %
        self.parent.Tenacity=True
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1018():
    def __init__(self):
        self.parent=False
        self.Name="Cloak of Agility"
        self.Icon="1018.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3005','3046','3031','3172']
        self.Tags=['critical_strike']
        self.Costs = 830
        self.Total_Costs = 830
        self.Description="+18% Critical Strike Chance"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Critical_Strike_Chance += 18.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1029():
    def __init__(self):
        self.parent=False
        self.Name="Cloth Armor"
        self.Icon="1029.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3026','3047','3106','3105','3110','3143']
        self.Tags=['armor']
        self.Costs = 300
        self.Total_Costs = 300
        self.Description="+18 Armor"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Armor += 18.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1042():
    def __init__(self):
        self.parent=False
        self.Name="Dagger"
        self.Icon="1042.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3006','3050','3086','3101','3114','3172','3046']
        self.Tags=['attack_speed']
        self.Costs = 420
        self.Total_Costs = 420
        self.Description="+15% Attack Speed"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Speed += 15.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3128():
    def __init__(self):
        self.parent=False
        self.Name="Deathfire Grasp"
        self.Icon="3128.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3098','1052','1026']
        self.Builds_Into=[]
        self.Tags=['spell_damage','cooldown_reduction']
        self.Costs = 975
        self.Total_Costs = 2600
        self.Description="+80 Ability Power  UNIQUE Passive: +15% Cooldown Reduction  UNIQUE Active: Deals magic damage to target champion equal to 25% of their current Health (+4% per 100 Ability Power) with a minimum of 200 damage (60 second cooldown)."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 80.0
        self.parent.Cooldown_Reduction += 15.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1055():
    def __init__(self):
        self.parent=False
        self.Name="Doran's Blade"
        self.Icon="1055.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=[]
        self.Tags=['health','attack_speed','life_steal','doran']
        self.Costs = 475
        self.Total_Costs = 475
        self.Description="+80 Health +10 Attack Damage +3% Life Steal"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 80.0
        self.parent.Attack_Damage += 10.0
        self.parent.Life_Steal += 3.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1056():
    def __init__(self):
        self.parent=False
        self.Name="Doran's Ring"
        self.Icon="1056.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=[]
        self.Tags=['health','spell_damage','mana_regen','doran']
        self.Costs = 475
        self.Total_Costs = 475
        self.Description="+80 Health +15 Ability Power +5 Mana Regen per 5 seconds"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 80.0
        self.parent.Ability_Power += 15.0
        self.parent.Mana_Regen_per_5_seconds += 5.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1054():
    def __init__(self):
        self.parent=False
        self.Name="Doran's Shield"
        self.Icon="1054.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=[]
        self.Tags=['health','armor','health_regen','doran']
        self.Costs = 475
        self.Total_Costs = 475
        self.Description="+120 Health +10 Armor +8 Health Regen per 5 seconds"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 120.0
        self.parent.Armor += 10.0
        self.parent.Health_Regen_per_5_seconds += 8.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3173():
    def __init__(self):
        self.parent=False
        self.Name="Eleisa's Miracle"
        self.Icon="3173.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3096','1004','1007']
        self.Builds_Into=[]
        self.Tags=['health_regen','mana_regen']
        self.Costs = 500
        self.Total_Costs = 1300
        self.Description="+25 Health Regen per 5 seconds +20 Mana Regen per 5 seconds  UNIQUE Passive: +35 Tenacity (Tenacity reduces the duration of stuns, slows, taunts, fears, silences, blinds and immobilizes. Does not stack with other Tenacity items.)"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health_Regen_per_5_seconds += 25.0
        self.parent.Mana_Regen_per_5_seconds += 20.0
        self.parent.Tenacity=True
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_2038():
    def __init__(self):
        self.parent=False
        self.Name="Elixir of Agility"
        self.Icon="2038.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=[]
        self.Tags=['attack_speed','critical_strike','consumeable']
        self.Costs = 250
        self.Total_Costs = 250
        self.Description="Click to Consume: Grants 12-22% Attack Speed, based on champion level, and 8% Critical Strike Chance for 4 minutes."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        pass

    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_2039():
    def __init__(self):
        self.parent=False
        self.Name="Elixir of Brilliance"
        self.Icon="2039.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=[]
        self.Tags=['spell_damage','cooldown_reduction','consumeable']
        self.Costs = 250
        self.Total_Costs = 250
        self.Description="Click to Consume: Grants 20-40 Ability Power, based on champion level, and 10% Cooldown Reduction for 4 minutes."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        pass

    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_2037():
    def __init__(self):
        self.parent=False
        self.Name="Elixir of Fortitude"
        self.Icon="2037.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=[]
        self.Tags=['health','damage','consumeable']
        self.Costs = 250
        self.Total_Costs = 250
        self.Description="Click to Consume: Grants 140-235 Health, based on champion level, and 10 Attack Damage for 4 minutes."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        pass

    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3097():
    def __init__(self):
        self.parent=False
        self.Name="Emblem of Valor"
        self.Icon="3097.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1029','1006']
        self.Builds_Into=['3190']
        self.Tags=['health_regen','armor']
        self.Costs = 350
        self.Total_Costs = 900
        self.Description="+25 Armor  UNIQUE Aura: Nearby allied Champions gain 10 Health Regen per 5 seconds."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Armor += 25.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3184():
    def __init__(self):
        self.parent=False
        self.Name="Entropy"
        self.Icon="3184.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3044','1028','1036','1038']
        self.Builds_Into=[]
        self.Tags=['health','damage']
        self.Costs = 600
        self.Total_Costs = 3565
        self.Description="+275 Health +70 Attack Damage UNIQUE Passive: Your basic attacks have a 25% chance to reduce your target's Movement Speed by 30% for 2.5 seconds.  UNIQUE Active: For the next 5 seconds, your basic attacks reduce your target's Movement Speed by 30% and deal 80 true damage over 2.5 seconds (60 second cooldown)."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 275.0
        self.parent.Attack_Damage += 70.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3123():
    def __init__(self):
        self.parent=False
        self.Name="Executioner's Calling"
        self.Icon="3123.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1051','1053']
        self.Builds_Into=[]
        self.Tags=['critical_strike','life_steal']
        self.Costs = 500
        self.Total_Costs = 1350
        self.Description="+18% Life Steal +15% Critical Strike Chance  UNIQUE Passive: Your basic attacks apply a mark to the target that deals 4 bonus magic damage each second for 8 seconds.  UNIQUE Active: Inflicts target enemy champion with Grievous Wound, causing 50% reduced healing and regeneration for 8 seconds (20 second cooldown)."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Life_Steal += 18.0
        # above is %
        self.parent.Critical_Strike_Chance += 15.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1004():
    def __init__(self):
        self.parent=False
        self.Name="Faerie Charm"
        self.Icon="1004.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3037','3077','3096']
        self.Tags=['mana_regen']
        self.Costs = 180
        self.Total_Costs = 180
        self.Description="+3 Mana Regen per 5 seconds"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Mana_Regen_per_5_seconds += 3.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3108():
    def __init__(self):
        self.parent=False
        self.Name="Fiendish Codex"
        self.Icon="3108.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1005','1052']
        self.Builds_Into=['3115','3174','3165']
        self.Tags=['spell_damage','mana_regen','cooldown_reduction']
        self.Costs = 300
        self.Total_Costs = 1125
        self.Description="+30 Ability Power +7 Mana Regen per 5 seconds  UNIQUE Passive: +10% Cooldown Reduction"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 30.0
        self.parent.Mana_Regen_per_5_seconds += 7.0
        self.parent.Cooldown_Reduction += 10.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3109():
    def __init__(self):
        self.parent=False
        self.Name="Force of Nature"
        self.Icon="3109.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1007','1007','1057']
        self.Builds_Into=[]
        self.Tags=['spell_block','health_regen','movement']
        self.Costs = 1000
        self.Total_Costs = 2610
        self.Description="+76 Magic Resist +40 Health Regen per 5 seconds +8% Movement Speed  UNIQUE Passive: Restores 1.75% of your maxmium Health every 5 seconds."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Magic_Resist += 76.0
        self.parent.Health_Regen_per_5_seconds += 40.0
        self.parent.Movement_Speed += 8.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3110():
    def __init__(self):
        self.parent=False
        self.Name="Frozen Heart"
        self.Icon="3110.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1029','1029','3024','1027','1031']
        self.Builds_Into=[]
        self.Tags=['armor','mana','cooldown_reduction']
        self.Costs = 650
        self.Total_Costs = 2775
        self.Description="+99 Armor +500 Mana  UNIQUE Passive: +20% Cooldown Reduction  UNIQUE Aura: Reduces the Attack Speed of nearby enemies by 20%."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Armor += 99.0
        self.parent.Mana += 500.0
        self.parent.Cooldown_Reduction += 20.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3022():
    def __init__(self):
        self.parent=False
        self.Name="Frozen Mallet"
        self.Icon="3022.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3044','1028','1036','1011']
        self.Builds_Into=[]
        self.Tags=['health','damage']
        self.Costs = 825
        self.Total_Costs = 3250
        self.Description="+700 Health +20 Attack Damage  UNIQUE Passive: Your basic attacks slow your target's Movement Speed by 40% for 2.5 seconds (30% for ranged attacks)."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 700.0
        self.parent.Attack_Damage += 20.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1011():
    def __init__(self):
        self.parent=False
        self.Name="Giant's Belt"
        self.Icon="1011.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3083','3022','3068','3116']
        self.Tags=['health']
        self.Costs = 1110
        self.Total_Costs = 1110
        self.Description="+430 Health"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 430.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3024():
    def __init__(self):
        self.parent=False
        self.Name="Glacial Shroud"
        self.Icon="3024.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1027','1031']
        self.Builds_Into=['3110']
        self.Tags=['armor','mana','cooldown_reduction']
        self.Costs = 425
        self.Total_Costs = 1525
        self.Description="+425 Mana +45 Armor  UNIQUE Passive: +15% Cooldown Reduction"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Mana += 425.0
        self.parent.Armor += 45.0
        self.parent.Cooldown_Reduction += 15.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3026():
    def __init__(self):
        self.parent=False
        self.Name="Guardian Angel"
        self.Icon="3026.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1033','1029','1031']
        self.Builds_Into=[]
        self.Tags=['spell_block','armor']
        self.Costs = 1200
        self.Total_Costs = 2600
        self.Description="+68 Armor +38 Magic Resist  UNIQUE Passive: Revives your champion upon death, restoring 750 Health and 375 Mana (5 minute cooldown)."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Armor += 68.0
        self.parent.Magic_Resist += 38.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3124():
    def __init__(self):
        self.parent=False
        self.Name="Guinsoo's Rageblade"
        self.Icon="3124.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1026','1037']
        self.Builds_Into=[]
        self.Tags=['damage','attack_speed','spell_damage']
        self.Costs = 400
        self.Total_Costs = 2235
        self.Description="+35 Attack Damage +45 Ability Power  UNIQUE Passive: On basic attack or ability use, increases your Attack Speed by 4% and Ability Power by 6 for 5 seconds (effect stacks up to 8 times)."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 35.0
        self.parent.Ability_Power += 45.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3136():
    def __init__(self):
        self.parent=False
        self.Name="Haunting Guise"
        self.Icon="3136.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1028','1052']
        self.Builds_Into=[]
        self.Tags=['health','spell_damage']
        self.Costs = 575
        self.Total_Costs = 1485
        self.Description="+25 Ability Power +200 Health  UNIQUE Passive: +20 Magic Penetration"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 25.0
        self.parent.Health += 200.0
        self.parent.Magic_Penetration += 20.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_2003():
    def __init__(self):
        self.parent=False
        self.Name="Health Potion"
        self.Icon="2003.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=[]
        self.Tags=['health','consumeable']
        self.Costs = 35
        self.Total_Costs = 35
        self.Description="Click to Consume: Restores 150 Health over 15 seconds."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        pass

    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3132():
    def __init__(self):
        self.parent=False
        self.Name="Heart of Gold"
        self.Icon="3132.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1028']
        self.Builds_Into=['3143','3190']
        self.Tags=['health']
        self.Costs = 350
        self.Total_Costs = 825
        self.Description="+250 Health  UNIQUE Passive: Gain an additional 5 Gold every 10 seconds."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 250.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3155():
    def __init__(self):
        self.parent=False
        self.Name="Hexdrinker"
        self.Icon="3155.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1036','1033']
        self.Builds_Into=['3156']
        self.Tags=['spell_block','damage']
        self.Costs = 585
        self.Total_Costs = 1400
        self.Description="+25 Attack Damage +30 Magic Resist  UNIQUE Passive: If you would take magic damage that would leave you at less than 30% Health, you first gain a shield that absorbs 250 magic damage for 5 seconds (60 second cooldown)."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 25.0
        self.parent.Magic_Resist += 30.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3146():
    def __init__(self):
        self.parent=False
        self.Name="Hextech Gunblade"
        self.Icon="3146.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3144','1037','1053','3145','1052','1052']
        self.Builds_Into=[]
        self.Tags=['damage','life_steal','spell_damage']
        self.Costs = 600
        self.Total_Costs = 3625
        self.Description="+40 Attack Damage +70 Ability Power +15% Life Steal  UNIQUE Passive: +20% Spell Vamp  UNIQUE Active: Deals 300 magic damage and slows the target champion's Movement Speed by 50% for 3 seconds (60 second cooldown)."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 40.0
        self.parent.Ability_Power += 70.0
        self.parent.Life_Steal += 15.0
        # above is %
        self.parent.Spell_Vamp += 20.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3145():
    def __init__(self):
        self.parent=False
        self.Name="Hextech Revolver"
        self.Icon="3145.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1052','1052']
        self.Builds_Into=['3146','3152']
        self.Tags=['spell_damage']
        self.Costs = 330
        self.Total_Costs = 1200
        self.Description="+40 Ability Power  UNIQUE Passive: +12% Spell Vamp"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 40.0
        self.parent.Spell_Vamp += 12.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3187():
    def __init__(self):
        self.parent=False
        self.Name="Hextech Sweeper"
        self.Icon="3187.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1052','1052','3067','1028']
        self.Builds_Into=[]
        self.Tags=['health','spell_damage','cooldown_reduction']
        self.Costs = 150
        self.Total_Costs = 1870
        self.Description="+40 Ability Power +300 Health  UNIQUE Passive: +10% Cooldown Reduction  UNIQUE Passive: Dealing spell damage grants vision of your target (including stealthed targets) for 4 seconds.  UNIQUE Active: A stealth-detecting mist grants vision in the target area for 6 seconds (1 minute cooldown)."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 40.0
        self.parent.Health += 300.0
        self.parent.Cooldown_Reduction += 10.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3031():
    def __init__(self):
        self.parent=False
        self.Name="Infinity Edge"
        self.Icon="3031.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1038','1037','1018']
        self.Builds_Into=[]
        self.Tags=['damage','critical_strike']
        self.Costs = 375
        self.Total_Costs = 3830
        self.Description="+80 Attack Damage +25% Critical Strike Chance  UNIQUE Passive: Your critical strikes now deal 250% damage instead of 200%."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 80.0
        self.parent.Critical_Strike_Chance += 25.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3158():
    def __init__(self):
        self.parent=False
        self.Name="Ionian Boots of Lucidity"
        self.Icon="3158.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1001']
        self.Builds_Into=[]
        self.Tags=['movement','cooldown_reduction']
        self.Costs = 700
        self.Total_Costs = 1050
        self.Description="UNIQUE Passive: +15% Cooldown Reduction  UNIQUE Passive: Enhanced Movement 2 (does not stack with other Boots)"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Cooldown_Reduction += 15.0
        # above is %
        self.parent.Movement_Speed += 20.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3178():
    def __init__(self):
        self.parent=False
        self.Name="Ionic Spark"
        self.Icon="3178.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1043','1028']
        self.Builds_Into=[]
        self.Tags=['health','attack_speed']
        self.Costs = 775
        self.Total_Costs = 2300
        self.Description="+50% Attack Speed +250 Health  UNIQUE Passive: Every fourth basic attack unleashes a chain lightning, dealing 110 magic damage to up to 4 targets."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Speed += 50.0
        # above is %
        self.parent.Health += 250.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3098():
    def __init__(self):
        self.parent=False
        self.Name="Kage's Lucky Pick"
        self.Icon="3098.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1052']
        self.Builds_Into=['3165','3128']
        self.Tags=['spell_damage']
        self.Costs = 330
        self.Total_Costs = 765
        self.Description="+25 Ability Power UNIQUE Passive: Gain an additional 5 Gold every 10 seconds."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 25.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3067():
    def __init__(self):
        self.parent=False
        self.Name="Kindlegem"
        self.Icon="3067.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1028']
        self.Builds_Into=['3069','3099','3065','3187','3050']
        self.Tags=['health','cooldown_reduction']
        self.Costs = 375
        self.Total_Costs = 850
        self.Description="+200 Health  UNIQUE Passive: +10% Cooldown Reduction"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 200.0
        self.parent.Cooldown_Reduction += 10.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3186():
    def __init__(self):
        self.parent=False
        self.Name="Kitae's Bloodrazor"
        self.Icon="3186.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1037','1043']
        self.Builds_Into=[]
        self.Tags=['damage','attack_speed']
        self.Costs = 700
        self.Total_Costs = 2725
        self.Description="+30 Attack Damage +40% Attack Speed  UNIQUE Passive: Your basic attacks deal magic damage equal to 2.5% of the target's maximum Health."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 30.0
        self.parent.Attack_Speed += 40.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3035():
    def __init__(self):
        self.parent=False
        self.Name="Last Whisper"
        self.Icon="3035.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1037','1036']
        self.Builds_Into=[]
        self.Tags=['damage']
        self.Costs = 900
        self.Total_Costs = 2290
        self.Description="+40 Attack Damage  UNIQUE Passive: +40% Armor Penetration"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 40.0
        self.parent.Armor_Penetration += 40.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3138():
    def __init__(self):
        self.parent=False
        self.Name="Leviathan"
        self.Icon="3138.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1028']
        self.Builds_Into=[]
        self.Tags=['health']
        self.Costs = 800
        self.Total_Costs = 1275
        self.Description="+180 Health  UNIQUE Passive: Your champion gains 32 Health per stack, receiving 2 stacks for a kill or 1 stack for an assist (stacks up to 20). You lose a third of your stacks on death. At 20 stacks, your champion takes 15% less damage."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 180.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3100():
    def __init__(self):
        self.parent=False
        self.Name="Lich Bane"
        self.Icon="3100.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1033','3057','1027','1052','1026']
        self.Builds_Into=[]
        self.Tags=['spell_block','spell_damage','mana','movement']
        self.Costs = 950
        self.Total_Costs = 3470
        self.Description="+350 Mana +80 Ability Power +30 Magic Resist +7% Movement Speed  UNIQUE Passive: After using an ability, your next basic attack gains bonus physical damage equal to your Ability Power (2 second cooldown). Does not stack with Sheen or Trinity Force."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Mana += 350.0
        self.parent.Ability_Power += 80.0
        self.parent.Magic_Resist += 30.0
        self.parent.Movement_Speed += 7.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3190():
    def __init__(self):
        self.parent=False
        self.Name="Locket of the Iron Solari"
        self.Icon="3190.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3132','1028','3097','1029','1006']
        self.Builds_Into=[]
        self.Tags=['health','health_regen','armor']
        self.Costs = 500
        self.Total_Costs = 2225
        self.Description="+300 Health +35 Armor UNIQUE Aura: Nearby allied Champions gain 15 Health Regen per 5 seconds. UNIQUE Active: Shield yourself and nearby allies for 5 seconds, absorbing up to 50 (+10 per level) damage (60 second cooldown)."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 300.0
        self.parent.Armor += 35.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1036():
    def __init__(self):
        self.parent=False
        self.Name="Long Sword"
        self.Icon="1036.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3106','3044','3134','3141','3035','3155','3077','3154','3004','3185']
        self.Tags=['damage']
        self.Costs = 415
        self.Total_Costs = 415
        self.Description="+10 Attack Damage"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 10.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3126():
    def __init__(self):
        self.parent=False
        self.Name="Madred's Bloodrazor"
        self.Icon="3126.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3106','1029','1036','1037','1043']
        self.Builds_Into=[]
        self.Tags=['damage','attack_speed']
        self.Costs = 775
        self.Total_Costs = 3800
        self.Description="+40 Attack Damage +40% Attack Speed +25 Armor  UNIQUE Passive: Your basic attacks deal bonus magic damage equal to 4% of the target's maximum Health."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 40.0
        self.parent.Attack_Speed += 40.0
        # above is %
        self.parent.Armor += 25.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3106():
    def __init__(self):
        self.parent=False
        self.Name="Madred's Razors"
        self.Icon="3106.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1029','1036']
        self.Builds_Into=['3154','3126']
        self.Tags=['armor','damage']
        self.Costs = 285
        self.Total_Costs = 1000
        self.Description="+15 Attack Damage +23 Armor  UNIQUE Passive: Your basic attacks against minions and monsters have a 20% chance to deal 300 bonus magic damage."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 15.0
        self.parent.Armor += 23.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3114():
    def __init__(self):
        self.parent=False
        self.Name="Malady"
        self.Icon="3114.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1042','1042','1052']
        self.Builds_Into=[]
        self.Tags=['attack_speed','spell_damage']
        self.Costs = 550
        self.Total_Costs = 1825
        self.Description="+25 Ability Power +50% Attack Speed  UNIQUE Passive: Your basic attacks deal 20 bonus magic damage and reduce the target's Magic Resist by 6 for 8 seconds (effect stacks up to 4 times)."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 25.0
        self.parent.Attack_Speed += 50.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3037():
    def __init__(self):
        self.parent=False
        self.Name="Mana Manipulator"
        self.Icon="3037.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1004','1004']
        self.Builds_Into=['3099']
        self.Tags=['mana_regen']
        self.Costs = 115
        self.Total_Costs = 475
        self.Description="UNIQUE Aura: Nearby allied champions gain 7.2 Mana Regen per 5 seconds."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        pass

    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_2004():
    def __init__(self):
        self.parent=False
        self.Name="Mana Potion"
        self.Icon="2004.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=[]
        self.Tags=['mana','consumeable']
        self.Costs = 40
        self.Total_Costs = 40
        self.Description="Click to Consume: Restores 100 Mana over 15 seconds."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        pass

    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3004():
    def __init__(self):
        self.parent=False
        self.Name="Manamune"
        self.Icon="3004.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3070','1027','1005','1036']
        self.Builds_Into=[]
        self.Tags=['damage','mana','mana_regen']
        self.Costs = 700
        self.Total_Costs = 2110
        self.Description="+350 Mana +7 Mana Regen per 5 seconds +20 Attack Damage  UNIQUE Passive: Grants Attack Damage equal to 2% of your maximum Mana.  UNIQUE Passive: Each time you basic attack, your maximum Mana increases by 1 (3 second cooldown). Each time you use an ability, your maximum Mana increases by 4 (3 second cooldown). Bonus caps at +1000 Mana. Does not stack with Tear of the Goddess or Archangel's Staff."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Mana += 350.0
        self.parent.Mana_Regen_per_5_seconds += 7.0
        self.parent.Attack_Damage += 20.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3156():
    def __init__(self):
        self.parent=False
        self.Name="Maw of Malmortius"
        self.Icon="3156.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3155','1036','1033','1037']
        self.Builds_Into=[]
        self.Tags=['spell_block','damage']
        self.Costs = 925
        self.Total_Costs = 3300
        self.Description="+55 Attack Damage +36 Magic Resist  UNIQUE Passive: If you would take magic damage that would leave you at less than 30% Health, you first gain a shield that absorbs 400 magic damage for 5 seconds (60 second cooldown). UNIQUE Passive: +1 Attack Damage for every 2.5% of your Maximum Health that is missing."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 55.0
        self.parent.Magic_Resist += 36.0
        #self.parent.Attack_Damage += maxhealth - health = temp   (maxhelth/temp)*100 = temp  abs(temp/2.5)   _for_every_2.5%_of_your_Maximum_Health_that_is_missing.=1.0
        self.parent.Attack_Damage += 55.0
        self.parent.Magic_Resist += 36.0
        #self.parent.Attack_Damage += maxhealth - health = temp   (maxhelth/temp)*100 = temp  abs(temp/2.5)   _for_every_2.5%_of_your_Maximum_Health_that_is_missing.=1.0
        self.parent.Attack_Damage += 55.0
        self.parent.Magic_Resist += 36.0
        #self.parent.Attack_Damage += maxhealth - health = temp   (maxhelth/temp)*100 = temp  abs(temp/2.5)   _for_every_2.5%_of_your_Maximum_Health_that_is_missing.=1.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3041():
    def __init__(self):
        self.parent=False
        self.Name="Mejai's Soulstealer"
        self.Icon="3041.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1052']
        self.Builds_Into=[]
        self.Tags=['spell_damage']
        self.Costs = 800
        self.Total_Costs = 1235
        self.Description="+20 Ability Power  UNIQUE Passive: Your champion gains 8 Ability Power per stack, receiving 2 stacks for a kill or 1 stack for an assist (stacks up to 20). You lose a third of your stacks on death. At 20 stacks, your champion gains 15% Cooldown Reduction."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 20.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1005():
    def __init__(self):
        self.parent=False
        self.Name="Meki Pendant"
        self.Icon="1005.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3028','3108','3070']
        self.Tags=['mana_regen']
        self.Costs = 390
        self.Total_Costs = 390
        self.Description="+7 Mana Regen per 5 seconds"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Mana_Regen_per_5_seconds += 7.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3111():
    def __init__(self):
        self.parent=False
        self.Name="Mercury's Treads"
        self.Icon="3111.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1001','1033']
        self.Builds_Into=[]
        self.Tags=['spell_block','movement']
        self.Costs = 450
        self.Total_Costs = 1200
        self.Description="+25 Magic Resist  UNIQUE Passive: Enhanced Movement 2 (does not stack with other Boots)  UNIQUE Passive: +35 Tenacity (Tenacity reduces the duration of stuns, slows, taunts, fears, silences, blinds and immobilizes. Does not stack with other Tenacity items.)"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Magic_Resist += 25.0
        self.parent.Movement_Speed += 20.0
        self.parent.Tenacity=True
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3170():
    def __init__(self):
        self.parent=False
        self.Name="Moonflair Spellblade"
        self.Icon="3170.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1026']
        self.Builds_Into=[]
        self.Tags=['spell_damage']
        self.Costs = 340
        self.Total_Costs = 1200
        self.Description="+50 Ability Power  UNIQUE Passive: +35 Tenacity (Tenacity reduces the duration of stuns, slows, taunts, fears, silences, blinds and immobilizes. Does not stack with other Tenacity items.)"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 50.0
        self.parent.Tenacity=True
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3165():
    def __init__(self):
        self.parent=False
        self.Name="Morello's Evil Tome"
        self.Icon="3165.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3098','1052','3108','1005','1052']
        self.Builds_Into=[]
        self.Tags=['spell_damage','mana_regen','cooldown_reduction']
        self.Costs = 440
        self.Total_Costs = 2330
        self.Description="+75 Ability Power +12 Mana Regen per 5 seconds UNIQUE Passive: +20% Cooldown Reduction  UNIQUE Active: Inflicts target enemy champion with Grievous Wound, causing 50% reduced healing and regeneration for 8 seconds (20 second cooldown)."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 75.0
        self.parent.Mana_Regen_per_5_seconds += 12.0
        self.parent.Cooldown_Reduction += 20.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3115():
    def __init__(self):
        self.parent=False
        self.Name="Nashor's Tooth"
        self.Icon="3115.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3101','1042','1042','3108','1005','1052']
        self.Builds_Into=[]
        self.Tags=['attack_speed','spell_damage','mana_regen','cooldown_reduction']
        self.Costs = 400
        self.Total_Costs = 2615
        self.Description="+50% Attack Speed +65 Ability Power +10 Mana Regen per 5 seconds  UNIQUE Passive: +25% Cooldown Reduction"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Speed += 50.0
        # above is %
        self.parent.Ability_Power += 65.0
        self.parent.Mana_Regen_per_5_seconds += 10.0
        self.parent.Cooldown_Reduction += 25.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1058():
    def __init__(self):
        self.parent=False
        self.Name="Needlessly Large Rod"
        self.Icon="1058.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3089','3157']
        self.Tags=['spell_damage']
        self.Costs = 1600
        self.Total_Costs = 1600
        self.Description="+80 Ability Power"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 80.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1057():
    def __init__(self):
        self.parent=False
        self.Name="Negatron Cloak"
        self.Icon="1057.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3109','3102','3001','3140','3180']
        self.Tags=['spell_block']
        self.Costs = 740
        self.Total_Costs = 740
        self.Description="+48 Magic Resist"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Magic_Resist += 48.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3047():
    def __init__(self):
        self.parent=False
        self.Name="Ninja Tabi"
        self.Icon="3047.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1001','1029']
        self.Builds_Into=[]
        self.Tags=['armor','movement']
        self.Costs = 200
        self.Total_Costs = 850
        self.Description="+25 Armor  UNIQUE Passive: Reduces the damage taken from non-turret basic attacks by 10%.  UNIQUE Passive: Enhanced Movement 2 (does not stack with other Boots)"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Armor += 25.0
        self.parent.Movement_Speed += 20.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1033():
    def __init__(self):
        self.parent=False
        self.Name="Null-Magic Mantle"
        self.Icon="1033.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3111','3028','3065','3105','3026','3091','3155']
        self.Tags=['spell_block']
        self.Costs = 400
        self.Total_Costs = 400
        self.Description="+24 Magic Resist"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Magic_Resist += 24.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3180():
    def __init__(self):
        self.parent=False
        self.Name="Odyn's Veil"
        self.Icon="3180.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1057','3010','1028','1027']
        self.Builds_Into=[]
        self.Tags=['health','spell_block','mana']
        self.Costs = 650
        self.Total_Costs = 2715
        self.Description="+350 Health +350 Mana +50 Magic Resist  UNIQUE Passive: Reduces and stores 10% of the magic damage dealt to your champion.  UNIQUE Active: Deals 200 + (stored magic) [max: 400] magic damage to nearby enemy units (90 second cooldown)."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 350.0
        self.parent.Mana += 350.0
        self.parent.Magic_Resist += 50.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_2042():
    def __init__(self):
        self.parent=False
        self.Name="Oracle's Elixir"
        self.Icon="2042.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=[]
        self.Tags=['consumeable']
        self.Costs = 400
        self.Total_Costs = 400
        self.Description="Click to Consume: Grants stealth detection until your champion dies."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        pass

    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_2047():
    def __init__(self):
        self.parent=False
        self.Name="Oracle's Extract"
        self.Icon="2047.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=[]
        self.Tags=['consumeable']
        self.Costs = 250
        self.Total_Costs = 250
        self.Description="Click to Consume: Grants stealth detection for 5 minutes or until your champion dies."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        pass

    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3044():
    def __init__(self):
        self.parent=False
        self.Name="Phage"
        self.Icon="3044.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1028','1036']
        self.Builds_Into=['3022','3078','3184']
        self.Tags=['health','damage']
        self.Costs = 425
        self.Total_Costs = 1315
        self.Description="+225 Health +18 Attack Damage  UNIQUE Passive: Your basic attacks have a 25% chance to slow your target's Movement Speed by 30% for 2.5 seconds."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 225.0
        self.parent.Attack_Damage += 18.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3046():
    def __init__(self):
        self.parent=False
        self.Name="Phantom Dancer"
        self.Icon="3046.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1018','3086','1051','1042','1042']
        self.Builds_Into=[]
        self.Tags=['critical_strike','attack_speed','movement']
        self.Costs = 400
        self.Total_Costs = 2845
        self.Description="+55% Attack Speed +30% Critical Strike Chance +12% Movement Speed"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Speed += 55.0
        # above is %
        self.parent.Critical_Strike_Chance += 30.0
        # above is %
        self.parent.Movement_Speed += 12.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3096():
    def __init__(self):
        self.parent=False
        self.Name="Philosopher's Stone"
        self.Icon="3096.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1004','1007']
        self.Builds_Into=['3069','3173']
        self.Tags=['health_regen','mana_regen']
        self.Costs = 185
        self.Total_Costs = 800
        self.Description="+18 Health Regen per 5 seconds +8 Mana Regen per 5 seconds  UNIQUE Passive: Gain an additional 5 Gold every 10 seconds."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health_Regen_per_5_seconds += 18.0
        self.parent.Mana_Regen_per_5_seconds += 8.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1037():
    def __init__(self):
        self.parent=False
        self.Name="Pickaxe"
        self.Icon="1037.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3144','3035','3124','3126','3031','3156','3077']
        self.Tags=['damage']
        self.Costs = 975
        self.Total_Costs = 975
        self.Description="+25 Attack Damage"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 25.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1062():
    def __init__(self):
        self.parent=False
        self.Name="Prospector's Blade"
        self.Icon="1062.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=[]
        self.Tags=['health','damage','life_steal','prospector']
        self.Costs = 950
        self.Total_Costs = 950
        self.Description="+20 Attack Damage +5% Life Steal  UNIQUE Passive: +200 Health (does not stack with other Prospector items)"
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 20.0
        self.parent.Life_Steal += 5.0
        # above is %
        self.parent.Health += 200
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1063():
    def __init__(self):
        self.parent=False
        self.Name="Prospector's Ring"
        self.Icon="1063.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=[]
        self.Tags=['spell_damage','mana_regen','health','prospector']
        self.Costs = 950
        self.Total_Costs = 950
        self.Description="+30 Ability Power +7 Mana Regen per 5 seconds  UNIQUE Passive: +200 Health (does not stack with other Prospector items)"
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 30.0
        self.parent.Mana_Regen_per_5_seconds += 7.0
        self.parent.Health += 200
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3140():
    def __init__(self):
        self.parent=False
        self.Name="Quicksilver Sash"
        self.Icon="3140.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1057']
        self.Builds_Into=[]
        self.Tags=['spell_block']
        self.Costs = 700
        self.Total_Costs = 1440
        self.Description="+56 Magic Resist  UNIQUE Active: Removes all debuffs from your champion (90 second cooldown)."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Magic_Resist += 56.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3089():
    def __init__(self):
        self.parent=False
        self.Name="Rabadon's Deathcap"
        self.Icon="3089.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1026','1058']
        self.Builds_Into=[]
        self.Tags=['spell_damage']
        self.Costs = 1140
        self.Total_Costs = 3600
        self.Description="+140 Ability Power  UNIQUE Passive: Increases Ability Power by 30%"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 140.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3143():
    def __init__(self):
        self.parent=False
        self.Name="Randuin's Omen"
        self.Icon="3143.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3132','1028','3082','1031','1006','1029']
        self.Builds_Into=[]
        self.Tags=['health','health_regen','armor','cooldown_reduction']
        self.Costs = 600
        self.Total_Costs = 3075
        self.Description="+350 Health +75 Armor +25 Health Regen per 5 seconds  UNIQUE Passive: +5% Cooldown Reduction  UNIQUE Passive: 20% chance on being hit by basic attacks to slow the attacker's Movement and Attack Speeds by 35% for 3 seconds.  UNIQUE Active: Slows the Movement and Attack Speeds of surrounding enemy units by 35% for 1 second + 0.5 seconds for each 100 combined Armor and Magic Resist your champion has (60 second cooldown)."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 350.0
        self.parent.Armor += 75.0
        self.parent.Health_Regen_per_5_seconds += 25.0
        self.parent.Cooldown_Reduction += 5.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1043():
    def __init__(self):
        self.parent=False
        self.Name="Recurve Bow"
        self.Icon="1043.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3091','3126','3178','3185','3186']
        self.Tags=['attack_speed']
        self.Costs = 1050
        self.Total_Costs = 1050
        self.Description="+40% Attack Speed"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Speed += 40.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1007():
    def __init__(self):
        self.parent=False
        self.Name="Regrowth Pendant"
        self.Icon="1007.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3096','3083','3109']
        self.Tags=['health_regen']
        self.Costs = 435
        self.Total_Costs = 435
        self.Description="+15 Health Regen per 5 seconds"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Health_Regen_per_5_seconds += 15.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1006():
    def __init__(self):
        self.parent=False
        self.Name="Rejuvenation Bead"
        self.Icon="1006.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3082','3097','3077']
        self.Tags=['health_regen']
        self.Costs = 250
        self.Total_Costs = 250
        self.Description="+8 Health Regen per 5 seconds"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Health_Regen_per_5_seconds += 8.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3027():
    def __init__(self):
        self.parent=False
        self.Name="Rod of Ages"
        self.Icon="3027.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3010','1028','1027','1026']
        self.Builds_Into=[]
        self.Tags=['health','spell_damage','mana']
        self.Costs = 850
        self.Total_Costs = 3035
        self.Description="+450 Health +525 Mana +60 Ability Power  Passive: Your champion gains 18 Health, 20 Mana, and 2 Ability Power every minute (up to 10 times).  UNIQUE Passive: On leveling up, restores 250 Health and 200 Mana over 8 seconds."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 450.0
        self.parent.Mana += 525.0
        self.parent.Ability_Power += 60.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1028():
    def __init__(self):
        self.parent=False
        self.Name="Ruby Crystal"
        self.Icon="1028.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3067','3132','3105','3044','3010','3178','3136','3083','3005','3099','3138']
        self.Tags=['health']
        self.Costs = 475
        self.Total_Costs = 475
        self.Description="+180 Health"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 180.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3116():
    def __init__(self):
        self.parent=False
        self.Name="Rylai's Crystal Scepter"
        self.Icon="3116.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1026','1052','1011']
        self.Builds_Into=[]
        self.Tags=['health','spell_damage']
        self.Costs = 700
        self.Total_Costs = 3105
        self.Description="+500 Health +80 Ability Power  UNIQUE Passive: Dealing spell damage slows the target's Movement Speed by 35% for 1.5 seconds (15% for multi-target and damage-over-time spells)."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 500.0
        self.parent.Ability_Power += 80.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3181():
    def __init__(self):
        self.parent=False
        self.Name="Sanguine Blade"
        self.Icon="3181.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1038','1053']
        self.Builds_Into=[]
        self.Tags=['damage','life_steal']
        self.Costs = 800
        self.Total_Costs = 2900
        self.Description="+60 Attack Damage +15% Life Steal  UNIQUE Passive: Your basic attacks grant 5 Attack Damage and 1% Life Steal for 4 seconds (effect stacks up to 7 times)."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 60.0
        self.parent.Life_Steal += 15.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1027():
    def __init__(self):
        self.parent=False
        self.Name="Sapphire Crystal"
        self.Icon="1027.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3057','3070','3010','3024']
        self.Tags=['mana']
        self.Costs = 400
        self.Total_Costs = 400
        self.Description="+200 Mana"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Mana += 200.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3057():
    def __init__(self):
        self.parent=False
        self.Name="Sheen"
        self.Icon="3057.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1027','1052']
        self.Builds_Into=['3100','3078']
        self.Tags=['spell_damage','mana']
        self.Costs = 425
        self.Total_Costs = 1260
        self.Description="+250 Mana +25 Ability Power  UNIQUE Passive: After using an ability, your next basic attack deals bonus physical damage equal to your base Attack Damage (2 second cooldown). Does not stack with Trinity Force or Lich Bane."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Mana += 250.0
        self.parent.Ability_Power += 25.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3069():
    def __init__(self):
        self.parent=False
        self.Name="Shurelya's Reverie"
        self.Icon="3069.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3067','1028','3096','1004','1007']
        self.Builds_Into=[]
        self.Tags=['health','health_regen','mana_regen','movement','cooldown_reduction']
        self.Costs = 550
        self.Total_Costs = 2200
        self.Description="+330 Health +30 Health Regen per 5 seconds +15 Mana Regen per 5 seconds  UNIQUE Passive: +15% Cooldown Reduction  UNIQUE Active: Nearby allied champions gain 40% Movement Speed for 3 seconds (60 second cooldown)."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 330.0
        self.parent.Health_Regen_per_5_seconds += 30.0
        self.parent.Mana_Regen_per_5_seconds += 15.0
        self.parent.Cooldown_Reduction += 15.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_2044():
    def __init__(self):
        self.parent=False
        self.Name="Sight Ward"
        self.Icon="2044.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=[]
        self.Tags=['consumeable']
        self.Costs = 75
        self.Total_Costs = 75
        self.Description="Click to Consume: Places an invisible ward that reveals the surrounding area for 3 minutes."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        pass

    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3020():
    def __init__(self):
        self.parent=False
        self.Name="Sorcerer's Shoes"
        self.Icon="3020.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1001']
        self.Builds_Into=[]
        self.Tags=['movement']
        self.Costs = 750
        self.Total_Costs = 1100
        self.Description="+20 Magic Penetration  UNIQUE Passive: Enhanced Movement 2 (does not stack with other Boots)"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Magic_Penetration += 20.0
        self.parent.Movement_Speed += 20.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3099():
    def __init__(self):
        self.parent=False
        self.Name="Soul Shroud"
        self.Icon="3099.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3067','1028','1028','3037','1004','1004']
        self.Builds_Into=[]
        self.Tags=['health','mana_regen','cooldown_reduction']
        self.Costs = 485
        self.Total_Costs = 2285
        self.Description="+520 Health  UNIQUE Aura: Nearby allied champions gain 10% Cooldown Reduction and 12 Mana Regen per 5 seconds."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 520.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3065():
    def __init__(self):
        self.parent=False
        self.Name="Spirit Visage"
        self.Icon="3065.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3067','1028','1033']
        self.Builds_Into=[]
        self.Tags=['health','spell_block','cooldown_reduction']
        self.Costs = 300
        self.Total_Costs = 1550
        self.Description="+30 Magic Resist +250 Health  UNIQUE Passive: +10% Cooldown Reduction  UNIQUE Passive: Increases your healing and regeneration effects on yourself by 15%."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Magic_Resist += 30.0
        self.parent.Health += 250.0
        self.parent.Cooldown_Reduction += 10.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3101():
    def __init__(self):
        self.parent=False
        self.Name="Stinger"
        self.Icon="3101.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1042','1042']
        self.Builds_Into=['3115']
        self.Tags=['attack_speed','cooldown_reduction']
        self.Costs = 250
        self.Total_Costs = 1090
        self.Description="+40% Attack Speed  UNIQUE Passive: +10% Cooldown Reduction"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Speed += 40.0
        # above is %
        self.parent.Cooldown_Reduction += 10.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3068():
    def __init__(self):
        self.parent=False
        self.Name="Sunfire Cape"
        self.Icon="3068.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1031','1011']
        self.Builds_Into=[]
        self.Tags=['health','armor']
        self.Costs = 800
        self.Total_Costs = 2610
        self.Description="+450 Health +45 Armor  UNIQUE Passive: Deals 40 magic damage per second to nearby enemies."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 450.0
        self.parent.Armor += 45.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3141():
    def __init__(self):
        self.parent=False
        self.Name="Sword of the Occult"
        self.Icon="3141.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1036']
        self.Builds_Into=[]
        self.Tags=['damage']
        self.Costs = 954
        self.Total_Costs = 1369
        self.Description="+10 Attack Damage UNIQUE Passive: Your champion gains 5 Attack Damage per stack, receiving 2 stacks for a kill or 1 stack for an assist (stacks up to 20). You lose a third of your stacks on death. At 20 stacks, your champion's Movement Speed is increased by 15%."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 10.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3070():
    def __init__(self):
        self.parent=False
        self.Name="Tear of the Goddess"
        self.Icon="3070.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1027','1005']
        self.Builds_Into=['3003','3004']
        self.Tags=['mana','mana_regen']
        self.Costs = 205
        self.Total_Costs = 995
        self.Description="+350 Mana +7 Mana Regen per 5 seconds  UNIQUE Passive: Each time you use an ability, your maximum Mana increases by 4 (3 second cooldown). Bonus caps at +1000 Mana. Does not stack with Archangel's Staff or Manamune."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Mana += 350.0
        self.parent.Mana_Regen_per_5_seconds += 7.0
        self.UpdateStats_Custom()

#class hurga():
    def Custom(self):
        self.MaxStack=250
        self.Stack=250

    def UpdateStats_Custom(self):
        temp=self.Stack * 4
        self.parent.Mana += temp


class Item_3071():
    def __init__(self):
        self.parent=False
        self.Name="The Black Cleaver"
        self.Icon="3071.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1038','1042']
        self.Builds_Into=[]
        self.Tags=['damage','attack_speed']
        self.Costs = 795
        self.Total_Costs = 2865
        self.Description="+55 Attack Damage +30% Attack Speed  UNIQUE Passive: Your basic attacks reduce your target's Armor by 15 for 5 seconds (effect stacks up to 3 times)."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 55.0
        self.parent.Attack_Speed += 30.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3072():
    def __init__(self):
        self.parent=False
        self.Name="The Bloodthirster"
        self.Icon="3072.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1038','1053']
        self.Builds_Into=[]
        self.Tags=['damage','life_steal']
        self.Costs = 900
        self.Total_Costs = 3000
        self.Description="+60 Attack Damage +12% Life Steal  Passive: Gains 1 stack per kill, up to a maximum of 40. Each stack grants +1 Attack Damage and +0.2% Life Steal (max: +40 Attack Damage and +8% Life Steal). Half of the current stacks are lost upon death."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 60.0
        self.parent.Life_Steal += 12.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3134():
    def __init__(self):
        self.parent=False
        self.Name="The Brutalizer"
        self.Icon="3134.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1036','1036']
        self.Builds_Into=['3142']
        self.Tags=['damage','cooldown_reduction']
        self.Costs = 507
        self.Total_Costs = 1337
        self.Description="+25 Attack Damage  UNIQUE Passive: +10% Cooldown Reduction  UNIQUE Passive: +15 Armor Penetration"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 25.0
        self.parent.Cooldown_Reduction += 10.0
        # above is %
        self.parent.Armor_Penetration += 15.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3200():
    def __init__(self):
        self.parent=False
        self.Name="The Hex Core"
        self.Icon="3200.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3196','3197','3198']
        self.Tags=['spell_damage','viktor']
        self.Costs = 0
        self.Total_Costs = 0
        self.Description="+3 Ability Power per level. This item can be upgraded into one of three augments that enhance Viktor's basic abilities. Click the item in the store to discover its upgrades."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 3.0 * self.parent.Level
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3185():
    def __init__(self):
        self.parent=False
        self.Name="The Lightbringer"
        self.Icon="3185.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1043','1036']
        self.Builds_Into=[]
        self.Tags=['damage','attack_speed']
        self.Costs = 285
        self.Total_Costs = 1750
        self.Description="+50% Attack Speed +20 Attack Damage  UNIQUE Passive: Your basic attacks grant vision of your target for 5 seconds."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Speed += 50.0
        # above is %
        self.parent.Attack_Damage += 20.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3075():
    def __init__(self):
        self.parent=False
        self.Name="Thornmail"
        self.Icon="3075.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1029','1031']
        self.Builds_Into=[]
        self.Tags=['armor']
        self.Costs = 1000
        self.Total_Costs = 2000
        self.Description="+100 Armor  UNIQUE Passive: On being hit by basic attacks, returns 30% of damage taken as magic damage."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Armor += 100.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3077():
    def __init__(self):
        self.parent=False
        self.Name="Tiamat"
        self.Icon="3077.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1037','1036','1004','1006']
        self.Builds_Into=[]
        self.Tags=['health_regen','damage','mana_regen']
        self.Costs = 250
        self.Total_Costs = 2070
        self.Description="+50 Attack Damage +15 Health Regen per 5 seconds +5 Mana Regen per 5 seconds  Passive: Your basic attacks splash, dealing 50% area damage around the target (35% for ranged attacks)."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 50.0
        self.parent.Health_Regen_per_5_seconds += 15.0
        self.parent.Mana_Regen_per_5_seconds += 5.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3078():
    def __init__(self):
        self.parent=False
        self.Name="Trinity Force"
        self.Icon="3078.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3086','1051','1042','3057','1027','1052','3044','1028','1036']
        self.Builds_Into=[]
        self.Tags=['health','damage','attack_speed','spell_damage','mana','movement','critical_strike']
        self.Costs = 300
        self.Total_Costs = 4070
        self.Description="+30 Attack Damage +30 Ability Power +30% Attack Speed +15% Critical Strike Chance +12% Movement Speed +250 Health +250 Mana  UNIQUE Passive: Your basic attacks have a 25% chance to slow your target's Movement Speed by 35% for 2.5 seconds.  UNIQUE Passive: After using an ability, your next basic attack deals bonus physical damage equal to 150% of your base Attack Damage (2 second cooldown). Does not stack with Sheen or Lich Bane."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 30.0
        self.parent.Ability_Power += 30.0
        self.parent.Attack_Speed += 30.0
        # above is %
        self.parent.Critical_Strike_Chance += 15.0
        # above is %
        self.parent.Movement_Speed += 12.0
        # above is %
        self.parent.Health += 250.0
        self.parent.Mana += 250.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_1053():
    def __init__(self):
        self.parent=False
        self.Name="Vampiric Scepter"
        self.Icon="1053.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=['3050','3123','3144','3181','3154','3072']
        self.Tags=['life_steal']
        self.Costs = 450
        self.Total_Costs = 450
        self.Description="+10% Life Steal"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Life_Steal += 10.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_2043():
    def __init__(self):
        self.parent=False
        self.Name="Vision Ward"
        self.Icon="2043.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=[]
        self.Builds_Into=[]
        self.Tags=['consumeable']
        self.Costs = 125
        self.Total_Costs = 125
        self.Description="Click to Consume: Places an invisible ward that reveals the surrounding area and stealthed units in the area for 3 minutes."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        pass

    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3135():
    def __init__(self):
        self.parent=False
        self.Name="Void Staff"
        self.Icon="3135.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1026','1052']
        self.Builds_Into=[]
        self.Tags=['spell_damage']
        self.Costs = 1000
        self.Total_Costs = 2295
        self.Description="+70 Ability Power  UNIQUE Passive: +40% Magic Penetration"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 70.0
        self.parent.Magic_Penetration += 40.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3082():
    def __init__(self):
        self.parent=False
        self.Name="Warden's Mail"
        self.Icon="3082.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1031','1006']
        self.Builds_Into=['3143']
        self.Tags=['health_regen','armor']
        self.Costs = 400
        self.Total_Costs = 1350
        self.Description="+50 Armor +20 Health Regen per 5 seconds  UNIQUE Passive: 20% chance on being hit by basic attacks to slow the attacker's Movement and Attack Speeds by 35% for 3 seconds."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Armor += 50.0
        self.parent.Health_Regen_per_5_seconds += 20.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3083():
    def __init__(self):
        self.parent=False
        self.Name="Warmog's Armor"
        self.Icon="3083.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1011','1028','1007']
        self.Builds_Into=[]
        self.Tags=['health','health_regen']
        self.Costs = 980
        self.Total_Costs = 3000
        self.Description="+920 Health +30 Health Regen per 5 seconds  Passive: Minion kills permanently grant 3.5 Health and .10 Health Regen per 5 seconds. Champion kills and assists permanently grant 35 Health and 1 Health Regen per 5 seconds. Bonuses cap at +350 Health and +10 Health Regen per 5 seconds."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 920.0
        self.parent.Health_Regen_per_5_seconds += 30.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3152():
    def __init__(self):
        self.parent=False
        self.Name="Will of the Ancients"
        self.Icon="3152.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1026','3145','1052','1052']
        self.Builds_Into=[]
        self.Tags=['spell_damage']
        self.Costs = 440
        self.Total_Costs = 2500
        self.Description="+50 Ability Power  UNIQUE Aura: Grants nearby allied champions 30 Ability Power and 20% Spell Vamp"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 50.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3091():
    def __init__(self):
        self.parent=False
        self.Name="Wit's End"
        self.Icon="3091.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1043','1033']
        self.Builds_Into=[]
        self.Tags=['spell_block','attack_speed']
        self.Costs = 700
        self.Total_Costs = 2150
        self.Description="+40% Attack Speed +30 Magic Resist  UNIQUE Passive: Your basic attacks deal 42 bonus magic damage.  UNIQUE Passive: Your basic attacks increase your Magic Resist by 5 for 5 seconds (effect stacks up to 4 times)."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Speed += 40.0
        # above is %
        self.parent.Magic_Resist += 30.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3154():
    def __init__(self):
        self.parent=False
        self.Name="Wriggle's Lantern"
        self.Icon="3154.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1053','3106','1029','1036']
        self.Builds_Into=[]
        self.Tags=['armor','damage','life_steal']
        self.Costs = 150
        self.Total_Costs = 1600
        self.Description="+23 Attack Damage +30 Armor +12% Life Steal  UNIQUE Passive: Your basic attacks against minions and monsters have a 20% chance to deal 425 bonus magic damage.  UNIQUE Active: Places an invisible Sight Ward that reveals the surrounding area for 3 minutes (3 minute cooldown)."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 23.0
        self.parent.Armor += 30.0
        self.parent.Life_Steal += 12.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3142():
    def __init__(self):
        self.parent=False
        self.Name="Youmuu's Ghostblade"
        self.Icon="3142.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3093','1051','3134','1036','1036']
        self.Builds_Into=[]
        self.Tags=['damage','critical_strike','attack_speed','cooldown_reduction','movement']
        self.Costs = 600
        self.Total_Costs = 2687
        self.Description="+30 Attack Damage +15% Critical Strike Chance  UNIQUE Passive: +15% Cooldown Reduction  UNIQUE Passive: +20 Armor Penetration  UNIQUE Active: You gain 20% Movement Speed and 50% Attack Speed for 4 seconds. Melee basic attacks increase the duration by 2 seconds up to a maximum duration of 8 seconds (60 second cooldown)."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Damage += 30.0
        self.parent.Critical_Strike_Chance += 15.0
        # above is %
        self.parent.Cooldown_Reduction += 15.0
        # above is %
        self.parent.Armor_Penetration += 20.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3086():
    def __init__(self):
        self.parent=False
        self.Name="Zeal"
        self.Icon="3086.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1051','1042']
        self.Builds_Into=['3046','3078']
        self.Tags=['critical_strike','attack_speed','movement']
        self.Costs = 375
        self.Total_Costs = 1195
        self.Description="+20% Attack Speed +10% Critical Strike Chance +6% Movement Speed"
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Attack_Speed += 20.0
        # above is %
        self.parent.Critical_Strike_Chance += 10.0
        # above is %
        self.parent.Movement_Speed += 6.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3050():
    def __init__(self):
        self.parent=False
        self.Name="Zeke's Herald"
        self.Icon="3050.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['3067','1028','1042','1053']
        self.Builds_Into=[]
        self.Tags=['health','attack_speed','life_steal','cooldown_reduction']
        self.Costs = 425
        self.Total_Costs = 2145
        self.Description="+250 Health UNIQUE Passive: +15% Cooldown Reduction UNIQUE Aura: Grants nearby allied champions 12% Life Steal and 20% Attack Speed."
        self.RichText_Description=""
        self.has_active=False
        self.has_passive=True
        self.Custom()

    def UpdateStats(self):
        self.parent.Health += 250.0
        self.parent.Cooldown_Reduction += 15.0
        # above is %
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass


class Item_3157():
    def __init__(self):
        self.parent=False
        self.Name="Zhonya's Hourglass"
        self.Icon="3157.png"
        self.Stack=0
        self.MaxStack=0
        self.Built_From=['1031','1058']
        self.Builds_Into=[]
        self.Tags=['armor','spell_damage']
        self.Costs = 800
        self.Total_Costs = 3100
        self.Description="+100 Ability Power +50 Armor  UNIQUE Active: Places your champion into Stasis for 2 seconds, rendering you invulnerable and untargetable but unable to take any action (90 second cooldown)."
        self.RichText_Description=""
        self.has_active=True
        self.has_passive=False
        self.Custom()

    def UpdateStats(self):
        self.parent.Ability_Power += 100.0
        self.parent.Armor += 50.0
        self.UpdateStats_Custom()


    def Custom(self):
        pass

    def UpdateStats_Custom(self):
        pass



class Items():
    def __init__(self,parent):
        self.parent=parent
        self.ITEMS={}
        self.InitItems()
        self.ItemIndex=['3001','3105','1052','3003','3174','3005','3198','3197','3196','3093','1038','3102','3006','3144','1026','3117','1001','3009','1051','3010','1031','3028','3172','1018','1029','1042','3128','1055','1056','1054','3173','2038','2039','2037','3097','3184','3123','1004','3108','3109','3110','3022','1011','3024','3026','3124','3136','2003','3132','3155','3146','3145','3187','3031','3158','3178','3098','3067','3186','3035','3138','3100','3190','1036','3126','3106','3114','3037','2004','3004','3156','3041','1005','3111','3170','3165','3115','1058','1057','3047','1033','3180','2042','2047','3044','3046','3096','1037','1062','1063','3140','3089','3143','1043','1007','1006','3027','1028','3116','3181','1027','3057','3069','2044','3020','3099','3065','3101','3068','3141','3070','3071','3072','3134','3200','3185','3075','3077','3078','1053','2043','3135','3082','3083','3152','3091','3154','3142','3086','3050','3157']
        self.CreateLists()

    def InitItems(self):
        self.ITEMS['3001']=Item_3001()
        self.ITEMS['3105']=Item_3105()
        self.ITEMS['1052']=Item_1052()
        self.ITEMS['3003']=Item_3003()
        self.ITEMS['3174']=Item_3174()
        self.ITEMS['3005']=Item_3005()
        self.ITEMS['3198']=Item_3198()
        self.ITEMS['3197']=Item_3197()
        self.ITEMS['3196']=Item_3196()
        self.ITEMS['3093']=Item_3093()
        self.ITEMS['1038']=Item_1038()
        self.ITEMS['3102']=Item_3102()
        self.ITEMS['3006']=Item_3006()
        self.ITEMS['3144']=Item_3144()
        self.ITEMS['1026']=Item_1026()
        self.ITEMS['3117']=Item_3117()
        self.ITEMS['1001']=Item_1001()
        self.ITEMS['3009']=Item_3009()
        self.ITEMS['1051']=Item_1051()
        self.ITEMS['3010']=Item_3010()
        self.ITEMS['1031']=Item_1031()
        self.ITEMS['3028']=Item_3028()
        self.ITEMS['3172']=Item_3172()
        self.ITEMS['1018']=Item_1018()
        self.ITEMS['1029']=Item_1029()
        self.ITEMS['1042']=Item_1042()
        self.ITEMS['3128']=Item_3128()
        self.ITEMS['1055']=Item_1055()
        self.ITEMS['1056']=Item_1056()
        self.ITEMS['1054']=Item_1054()
        self.ITEMS['3173']=Item_3173()
        self.ITEMS['2038']=Item_2038()
        self.ITEMS['2039']=Item_2039()
        self.ITEMS['2037']=Item_2037()
        self.ITEMS['3097']=Item_3097()
        self.ITEMS['3184']=Item_3184()
        self.ITEMS['3123']=Item_3123()
        self.ITEMS['1004']=Item_1004()
        self.ITEMS['3108']=Item_3108()
        self.ITEMS['3109']=Item_3109()
        self.ITEMS['3110']=Item_3110()
        self.ITEMS['3022']=Item_3022()
        self.ITEMS['1011']=Item_1011()
        self.ITEMS['3024']=Item_3024()
        self.ITEMS['3026']=Item_3026()
        self.ITEMS['3124']=Item_3124()
        self.ITEMS['3136']=Item_3136()
        self.ITEMS['2003']=Item_2003()
        self.ITEMS['3132']=Item_3132()
        self.ITEMS['3155']=Item_3155()
        self.ITEMS['3146']=Item_3146()
        self.ITEMS['3145']=Item_3145()
        self.ITEMS['3187']=Item_3187()
        self.ITEMS['3031']=Item_3031()
        self.ITEMS['3158']=Item_3158()
        self.ITEMS['3178']=Item_3178()
        self.ITEMS['3098']=Item_3098()
        self.ITEMS['3067']=Item_3067()
        self.ITEMS['3186']=Item_3186()
        self.ITEMS['3035']=Item_3035()
        self.ITEMS['3138']=Item_3138()
        self.ITEMS['3100']=Item_3100()
        self.ITEMS['3190']=Item_3190()
        self.ITEMS['1036']=Item_1036()
        self.ITEMS['3126']=Item_3126()
        self.ITEMS['3106']=Item_3106()
        self.ITEMS['3114']=Item_3114()
        self.ITEMS['3037']=Item_3037()
        self.ITEMS['2004']=Item_2004()
        self.ITEMS['3004']=Item_3004()
        self.ITEMS['3156']=Item_3156()
        self.ITEMS['3041']=Item_3041()
        self.ITEMS['1005']=Item_1005()
        self.ITEMS['3111']=Item_3111()
        self.ITEMS['3170']=Item_3170()
        self.ITEMS['3165']=Item_3165()
        self.ITEMS['3115']=Item_3115()
        self.ITEMS['1058']=Item_1058()
        self.ITEMS['1057']=Item_1057()
        self.ITEMS['3047']=Item_3047()
        self.ITEMS['1033']=Item_1033()
        self.ITEMS['3180']=Item_3180()
        self.ITEMS['2042']=Item_2042()
        self.ITEMS['2047']=Item_2047()
        self.ITEMS['3044']=Item_3044()
        self.ITEMS['3046']=Item_3046()
        self.ITEMS['3096']=Item_3096()
        self.ITEMS['1037']=Item_1037()
        self.ITEMS['1062']=Item_1062()
        self.ITEMS['1063']=Item_1063()
        self.ITEMS['3140']=Item_3140()
        self.ITEMS['3089']=Item_3089()
        self.ITEMS['3143']=Item_3143()
        self.ITEMS['1043']=Item_1043()
        self.ITEMS['1007']=Item_1007()
        self.ITEMS['1006']=Item_1006()
        self.ITEMS['3027']=Item_3027()
        self.ITEMS['1028']=Item_1028()
        self.ITEMS['3116']=Item_3116()
        self.ITEMS['3181']=Item_3181()
        self.ITEMS['1027']=Item_1027()
        self.ITEMS['3057']=Item_3057()
        self.ITEMS['3069']=Item_3069()
        self.ITEMS['2044']=Item_2044()
        self.ITEMS['3020']=Item_3020()
        self.ITEMS['3099']=Item_3099()
        self.ITEMS['3065']=Item_3065()
        self.ITEMS['3101']=Item_3101()
        self.ITEMS['3068']=Item_3068()
        self.ITEMS['3141']=Item_3141()
        self.ITEMS['3070']=Item_3070()
        self.ITEMS['3071']=Item_3071()
        self.ITEMS['3072']=Item_3072()
        self.ITEMS['3134']=Item_3134()
        self.ITEMS['3200']=Item_3200()
        self.ITEMS['3185']=Item_3185()
        self.ITEMS['3075']=Item_3075()
        self.ITEMS['3077']=Item_3077()
        self.ITEMS['3078']=Item_3078()
        self.ITEMS['1053']=Item_1053()
        self.ITEMS['2043']=Item_2043()
        self.ITEMS['3135']=Item_3135()
        self.ITEMS['3082']=Item_3082()
        self.ITEMS['3083']=Item_3083()
        self.ITEMS['3152']=Item_3152()
        self.ITEMS['3091']=Item_3091()
        self.ITEMS['3154']=Item_3154()
        self.ITEMS['3142']=Item_3142()
        self.ITEMS['3086']=Item_3086()
        self.ITEMS['3050']=Item_3050()
        self.ITEMS['3157']=Item_3157()

    def GetItem(self,itemid):
        return self.ITEMS[itemid]

    def CreateLists(self):
        self.SortedLists={}
        for ItemID in self.ItemIndex:
            for i in self.ITEMS[ItemID].Tags:
                if not self.SortedLists.has_key(i):
                    self.SortedLists[i]=[]
                    self.SortedLists[i].append(ItemID)
                else:
                    self.SortedLists[i].append(ItemID)
        for i in self.SortedLists:
            costs = {}
            count = 0
            for j in self.SortedLists[i]:
                costs["%s_%s" % (self.ITEMS[j].Total_Costs,count)] = j
                self.SortedLists[i] = []
                count +=1
            for j in sorted(costs.keys()):
                self.SortedLists[i].append(costs[j])

#        for i in self.SortedLists.iterkeys():
#            print i
#            print self.SortedLists[i]
#            print ".............."
            


    def GetList(self,string):
#attack_speed
#doran
#life_steal
#spell_damage
#viktor
#armor
#spell_block
#damage
#health_regen
#mana
#health
#consumeable
#movement
#mana_regen
#critical_strike
#prospector
#cooldown_reduction
        return self.SortedLists[string]


